﻿using System.Collections.Generic;
using CkSoftware.GroupMe.Sdk.Bot.Commands;
using CkSoftware.GroupMe.Sdk.Core;
using CkSoftware.GroupMe.Sdk.Core.Dao;
using Newtonsoft.Json;

namespace CkSoftware.GroupMe.Sdk.Bot.Dao
{
	/// <summary>
	/// The parameters for the <see cref="PostBotMessageCommand" />.
	/// </summary>
	public class PostBotMessageParameters : IWebApiCommandParameters
	{
		/// <summary>
		/// Instantiates a new <see cref="PostBotMessageParameters" /> class.
		/// </summary>
		public PostBotMessageParameters()
		{
			Attachments = new List<GroupMeAttachmentBase>();
		}

		/// <summary>
		/// The list of attachments in the <see cref="PostBotMessageCommand" />.
		/// </summary>
		[JsonProperty(PropertyName = "attachments")]
		public List<GroupMeAttachmentBase> Attachments { get; set; }

		/// <summary>
		/// The bot id used to post the new message.
		/// </summary>
		[JsonProperty(PropertyName = "bot_id")]
		public string BotId { get; set; }

		/// <summary>
		/// The message content to post.
		/// </summary>
		[JsonProperty(PropertyName = "text")]
		public string Message { get; set; }
	}
}